#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QCloseEvent>

class QLineEdit;
class QDialog;
class QLable;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void newFile();   // 新建操作
    bool maybeSave(); // 判断是否需要保存
    bool save();      // 保存操作
    bool saveAs();    // 另存为操作
    bool saveFile(const QString &fileName); // 保存文件
    bool loadFile(const QString &fileName); // 加载文件

protected:
        void closeEvent(QCloseEvent *event);

private slots:

    void on_Open_triggered();

    void on_New_triggered();

    void on_Close_triggered();

    void on_cut_triggered();

    void on_copy_triggered();

    void on_paste_triggered();

    void on_save_triggered();

    void on_exit_triggered();

    void on_SaveAs_triggered();

    void on_undo_triggered();

    void on_notes_triggered();

    void showFindText();

    void on_find_triggered();

private:

    QLineEdit *findLineEdit;
    QDialog *findDlg;
    QLable *statusLabel;

    Ui::MainWindow *ui;

    // 为真表示文件没有保存过，为假表示文件已经被保存过了
    bool isUntitled;
    // 保存当前文件的路径
    QString curFile;


};

#endif // MAINWINDOW_H
